
#pragma once

using namespace System;
using namespace GRIP;

namespace GRIP 
{
	namespace Cuda
	{
		public ref class GripGpu abstract sealed 
		{
		public:
			static void AlignColorFrame(CudaDeviceBuffer^ Source, CudaDeviceBuffer^ Dest);
			static void BackgroundSubtract(CudaDeviceBuffer^ DepthFrame, int PlayerIndex);
			static void BackgroundSubtract(CudaDeviceBuffer^ DepthFrame, CudaDeviceBuffer^ AlphaChannel, int PlayerIndex);
			generic<typename T>
			static void SetMapIndices(array<T>^ Source);
			static void YuvToBgra(CudaDeviceBuffer^ Source, CudaDeviceBuffer^ Target); 
		};
	}
}
